:root {
	--family-base: "Pretendard", "sans-serif";

	--gap-base: 24px;
	--gap-big: 48px;
	--gap-sm: 12px;

	--font-size-tit: 28px;
	--font-size-b: 24px;
	--font-size-b2: 21px;
	--font-size: 19px;
	--font-size-s2: 17px;
	--font-size-s: 16px;
	--font-size-visual: 57px;


	--form-h: 45px;

	--col-gray-dark: #363636;
	--col-gray1: #f7f7f7;
	--col-gray2: #DADDE0;
	--col-gray3: #e6eaee;
	--col-1: #0F1981;
	/* --col-1 : #E8321A; */
	--col-2: #003aa5;
	--col-3: #35a7d2;
	--col-4: #F1F6FD;
	--col-4-b: #dbe3ee;
	--col-5: #f3f6fa;


	--col-red: #ff0000;
	--col-yel: #F8E276;
}


@media screen and (min-width:1921px) {
	:root {
		--font-size-tit: 30px;
		--font-size-b: 26px;
		--font-size-b2: 23px;
		--font-size: 21px;
		--font-size-s2: 19px;
		--font-size-s: 18px;
		--font-size-visual: 59px;
	}
}


@media screen and (max-width:1400px) {
	:root {
		/* --gap-base : 24px; */
		--gap-big: 36px;
		/* --gap-sm : 12px; */

		--font-size-tit: 26px;
		--font-size-b: 24px;
		--font-size-b2: 20px;
		--font-size: 18px;
		--font-size-s2: 16px;
		--font-size-s: 15px;
		--font-size-visual: 52px;
	}
}


@media screen and (max-width:768px) {
	:root {
		--gap-base: 12px;
		--gap-big: 24px;

		--font-size-tit: 23px;
		--font-size-b: 21px;
		--font-size-b2: 19px;
		--font-size: 17px;
		--font-size-s2: 16px;
		--font-size-s: 15px;
		--font-size-visual: 42px;
	}
}


@media screen and (max-width:480px) {
	:root {
		--gap-base: 12px;
		--gap-big: 24px;

		--font-size-tit: 23px;
		--font-size-b: 20px;
		--font-size-b2: 17px;
		--font-size: 16px;
		--font-size-s2: 16px;
		--font-size-s: 15px;
		--font-size-visual: 32px;
	}
}

* {
	margin: 0;
	padding: 0;
	list-style: none;
	box-sizing: border-box;
}

body,
html {
	font-family: var(--family-base);
	font-weight: 500;
	font-size: var(--font-size);
	letter-spacing: -0.03rem;
	height: 100%;
	line-height: 1.6;
}

body {
	overflow-x: hidden;
}

select,
input,
button,
a,
textarea {
	font-family: var(--family-base);
	font-size: var(--font-size);
}

select,
input,
textarea {
	border: 1px solid #ddd;
	border-radius: 5px;
}

select,
input[type=text],
input[type=password],
input[type=email] {
	height: var(--form-h);
	padding: 0 10px;
}

input[readonly=readonly] {
	background-color: var(--col-gray1);
}

img {
	max-width: 100%;
}

textarea {
	width: 100%;
	min-height: 200px;
	padding: 10px;
}

.mo_gnb_wrap {
	margin-right: 12px;
	margin-left: auto;
	display: none;
}

.mo_gnb_wrap .btn_sitemap {
	position: relative;
	width: 30px;
	height: 25px;
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.mo_gnb_wrap .btn_sitemap:before,
.mo_gnb_wrap .btn_sitemap:after {
	content: "";
	display: inline-block;
	text-indent: -99999px;
	font-size: 0;
	line-height: 0;
	width: 30px;
	height: 3px;
	background-color: #000;
	border-radius: 2px;
}

.mo_gnb_wrap .btn_sitemap span {
	display: inline-block;
	text-indent: -99999px;
	font-size: 0;
	line-height: 0;
	width: 30px;
	height: 3px;
	background-color: #000;
	border-radius: 2px;
	transition: all 0.3s ease-in-out;
}

.mo_gnb_wrap .btn_sitemap:focus span,
.mo_gnb_wrap .btn_sitemap:hover span {
	width: 20px;
}

/* -------------------------- radio -------------------- */
.radio_form {
	position: relative;
	display: inline-block;
	margin-right: 10px;
	font-size: var(--font-size-s2);
	cursor: pointer;
}

.radio_form input[type=radio] {
	position: absolute;
	opacity: 0;
	cursor: pointer;
}

.radio_form input[type=radio]:checked + label {
	color: var(--col-1);
}

.radio_form input[type=radio]:checked + label::before {
	border-color: var(--col-1);
	background-image: url(/local100/images/chk.png);
	background-repeat: no-repeat;
	background-position: center;
}

.radio_form label {
	position: relative;
	cursor: pointer;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 5px;
}

.radio_form label::before {
	content: "";
	display: inline-block;
	left: 0;
	width: 18px;
	height: 18px;
	border: 2px solid #999;
	border-radius: 50%;
	background: #fff;
}

.chk_form {
	position: relative;
	display: inline-block;
	margin-right: 10px;
	font-size: var(--font-size-s2);
	cursor: pointer;
}

.chk_form input[type=checkbox] {
	position: absolute;
	opacity: 0;
	cursor: pointer;
}

.chk_form input[type=checkbox]:checked + label {
	color: var(--col-1);
}

.chk_form input[type=checkbox]:checked + label::before {
	border-color: var(--col-1);
	background-image: url(/local100/images/chk.png);
	background-repeat: no-repeat;
	background-position: center;
}

.chk_form label {
	position: relative;
	cursor: pointer;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 5px;
}

.chk_form label::before {
	content: "";
	display: inline-block;
	left: 0;
	width: 18px;
	height: 18px;
	border: 2px solid #999;
	border-radius: 3px;
	background: #fff;
}

a {
	color: #222;
	text-decoration: none;
}

button {
	padding: 0;
	background-color: transparent;
	border: 0;
	cursor: pointer;
}

.hide {
	font-size: 0;
	line-height: 0;
	height: 0;
	opacity: 0;
	text-indent: -99999px;
}

.contents {
	max-width: 1280px;
	margin: 0 auto;
}

.sub .contents {
	max-width: 1280px;
}

/* 기본 스타일 */
::-moz-placeholder {
	color: #777;
	font-size: var(--font-size=s);
}

::placeholder {
	color: #777;
	font-size: var(--font-size=s);
}

::-webkit-input-placeholder {
	color: #777;
	font-size: var(--font-size-s);
}

::-moz-placeholder {
	color: #777;
	font-size: var(--font-size-s);
}

:-ms-input-placeholder {
	color: #777;
	font-size: var(--font-size-s);
}

:-ms-input-placeholder {
	color: #777;
	font-size: var(--font-size-s);
}

.wrap {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.wrap .container_wrap {
	flex: 1;
	padding-bottom: 55px;
}

.header_wrap {
	padding: 10px 0;
	border-bottom: 1px solid #ddd;
}

.header_wrap .contents {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header_wrap .contents .gnb_wrap {
	position: relative;
	transition: all 0.3s ease-in-out;
}

.header_wrap .contents .gnb_wrap .mo_logo_local {
	display: none;
}

.header_wrap .contents .gnb_wrap .btn_close_gnb {
	margin-left: auto;
	padding: 0 10px;
}

.header_wrap .contents .gnb_wrap .btn_close_gnb i {
	font-size: 21px;
}

.header_wrap .contents .gnb_wrap ul {
	display: flex;
	gap: 20px;
}

.header_wrap .contents .gnb_wrap ul li a {
	display: block;
	padding: 15px 30px;
	font-size: var(--font-size-b);
}

.header_wrap .contents .gnb_wrap ul li.active a {
	color: var(--col-1);
	font-weight: 700;
}

.header_wrap .contents .logo_local {
	line-height: 1;
}

footer .footer_info {
	background-color: var(--col-gray-dark);
}

footer .footer_info p {
	color: #fff;
	font-size: var(--font-size-s);
}

footer .footer_info .logo img {
	height: 56px;
}

footer .footer_info .max {
	max-width: 1400px;
	margin: 0 auto;
	padding: 30px 0;
	position: relative;
}

footer .footer_info .left {
	display: flex;
	gap: 30px;
	align-items: center;
}

footer .footer_info .left .addr {
	color: #fff;
	font-weight: 400;
	padding-top: 17px;
	font-size: 17px;
}

.mt10 {
	margin-top: 10px;
}

.mt20 {
	margin-top: 20px;
}
.mb10 {
	margin-bottom: 10px;
}

.mb20 {
	margin-bottom: 20px;
}

.visual_info_wrap {
	position: relative;
	min-height: 450px;
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	background-color: var(--col-yel);
	background-image: url(/local100/images/main/bg_local100.jpg);
	background-size: cover;
	background-position: bottom center;
	padding: 30px;
}
.visual_local_wrap {
	position: relative;
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	line-height: 0;
	font-size:0;
	/* background-size: auto 100%;
	background-position: left bottom;
	background-repeat: repeat-x;
	background-image: url(/local100/images/main/bg_visual.jpg);   */
}


.visual_local_wrap .info_visual {
	background:#00b15b;
	line-height: 1.6;
	width:100%;
	display: flex;
	justify-content: center;
	color:#fff;
	max-width:1903px;
	margin:0 auto;
	padding:10px 0 20px 0;
}
.visual_local_wrap .info_visual .box {display: flex;justify-content: center;gap:30px;align-items: center;}
.visual_local_wrap .info_visual .box dl {display: flex;gap:10px;font-size:26px;align-items: center;}
.visual_local_wrap .info_visual .box dl dt {background:#0e6d62;padding:10px 20px;line-height: 1;}
.visual_local_wrap .info_visual .box dl dd {display: flex;gap:10px;}
/* .visual_local_wrap .info_visual .box dl dd:before {content:':';} */

.visual_info_wrap .visual_top {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
	justify-content: center;
}
.visual_info_wrap .visual_bottom { 
	text-align: center;
}

.visual_info_wrap .visual_bottom span {
	display: inline-block;
}

@media screen and (min-width:1921px) {
	.visual_info_wrap {
		/* height:540px; */
	}
}

.visual_info_wrap .contents {
	position: relative;
	z-index: 2;
}

/* .visual_info_wrap:before {
	content: "";
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	width: 40%;
	background-image: url(/local100/images/main/bg_visual_left.png);
	background-repeat: no-repeat;
	background-position: bottom left;
}

.visual_info_wrap:after {
	content: "";
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	width: 40%;
	background-image: url(/local100/images/main/bg_visual_right.png);
	background-repeat: no-repeat;
	background-position: bottom right;
} */

.visual_info_wrap .title_area {
	text-align: center;
	padding: 0 0 42px 0;
}

.visual_info_wrap .title_area .tit {
	font-size: var(--font-size-tit);
}

.visual_info_wrap .title_area .tit .point_tit {
	display: flex;
	gap: 5px;
	justify-content: center;
	align-items: center;
	font-size: var(--font-size-tit);
}

.visual_info_wrap .title_area .tit .point_tit .point1 {
	color: var(--col-1);
	font-size: var(--font-size-visual);
	font-weight: 900;
}

.visual_info_wrap .title_area .tit .point_tit .point2 {
	position: relative;
	color: var(--col-1);
	font-size: var(--font-size-visual);
	font-weight: 900;
	display: flex;
}

.visual_info_wrap .title_area .tit .point_tit .point2:before,
.visual_info_wrap .title_area .tit .point_tit .point2:after {
	content: "";
	width: 40px;
	height: 40px;
	background-repeat: no-repeat;
	background-position: center;
	margin-top: 10px;
}

.visual_info_wrap .title_area .tit .point_tit .point2:before {
	background-image: url(/local100/images/main/parent_left.png);
}

.visual_info_wrap .title_area .tit .point_tit .point2:after {
	background-image: url(/local100/images/main/parent_right.png);
}

.visual_info_wrap .contest_info_area {
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	width: 600px;
	max-width: 100%;
	margin: 0 auto;
	background-color: rgba(255, 255, 255, 0.5);
	padding: 25px;
	font-size: var(--font-size);
	border-radius: var(--gap-sm);
	font-size: var(--font-size-b2);
}

.visual_info_wrap .contest_info_area dl {
	display: flex;
	gap: 25px;
}

.visual_info_wrap .contest_info_area dl dt {
	font-weight: bold;
}

.visual_info_wrap .contest_info_area dl dd {
	width: 220px;
}

.main_btn_area {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	gap: var(--gap-big);
	justify-content: center;
	padding: var(--gap-base) 0;
}

.main_btn_area .btn_click {
	width: 450px;
	max-width: 100%;
	height: 65px;
	text-align: center;
	font-size: var(--font-size-b2);
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 10px;
	justify-content: center;
	border-radius: var(--gap-sm);
}

.main_btn_area .btn_click:before {
	content: "";
	width: 23px;
	height: 23px;
	background-repeat: no-repeat;
	background-position: center;
}

.main_btn_area .btn_click.type1 {
	background-color: var(--col-1);
	color: #fff;
}

.main_btn_area .btn_click.type1:before {
	background-image: url(/local100/images/main/ico_write.png);
}

.main_btn_area .btn_click.type2 {
	background-color: #f8e276;
	color: var(--col-gray-dark);
}

.main_btn_area .btn_click.type2:before {
	background-image: url(/local100/images/main/ico_viewer.png);
}

.main_btn_area .btn_click.type2 p {
	padding: 0 10px;
	line-height: 1.3;
	flex: 0 0 auto;
}

.main_btn_area .btn_click.type2 p span {
	display: inline-block;
}

.contest_detail_info_wrap {
	max-width: 1280px;
	margin: 0 auto;
}

.contest_detail_info_wrap .exp_top {
	text-align: center;
	padding: 0 0 var(--gap-base) 0;
	font-size: var(--font-size-tit);
}

.contest_detail_info_wrap .contest_detail {
	background-color: var(--col-gray1);
	padding: var(--gap-big);
	border-radius: var(--gap-base);
}
.contest_detail_info_wrap .contest_detail .title {
    font-size: 32px;
    margin-bottom: 30px;
    text-align: left;
    color: #0f1981; 
    display: flex;gap:15px;
    align-items: center;
}

.contest_detail_info_wrap .contest_detail .title i {
	transform: scaleX(-1)
}

.contest_detail_info_wrap .contest_detail dl {
	display: flex;
	gap: var(--gap-big);
}
.contest_detail_info_wrap .contest_detail.vote dl {
	flex-direction: column;
	gap:10px;
}

.contest_detail_info_wrap .contest_detail dl + dl {
	margin-top: var(--gap-base);
	padding-top: var(--gap-base);
	border-top: 1px dashed #ccc;
}

.contest_detail_info_wrap .contest_detail dl dt {
	flex: 0 0 170px;
	font-size: var(--font-size-b2);
	font-weight: 700;
}
.contest_detail_info_wrap .contest_detail.vote dl dt {flex:0 0 auto;}

.contest_detail_info_wrap .contest_detail dl dt .tit_ico1 {
	position: relative;
	display: flex;
	gap: 5px;
}

.contest_detail_info_wrap .contest_detail dl dt .tit_ico1:after {
	content: "";
	width: 8px;
	height: 8px;
	background-color: #D24735;
	border-radius: 50%;
}

.contest_detail_info_wrap .contest_detail.vote dl dt .tit_ico1:after {display: none;}
.contest_detail_info_wrap .contest_detail.vote dl dt .tit_ico1:before {
	content: "";
	width: 8px;
	height: 8px;
	background-color: #D24735;
	border-radius: 50%;
}

.contest_detail_info_wrap .contest_detail.vote dl dd {padding-left:15px;}
.contest_detail_info_wrap .contest_detail dl dd .subject {
	color: var(--col-1);
	font-weight: 700;
	margin-bottom: var(--gap-base);
	font-size: var(--font-size-b);
}

.contest_detail_info_wrap .contest_detail dl dd .detail_list ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.contest_detail_info_wrap .contest_detail dl dd .detail_list ul li {
	line-height: 1.8;
}

.contest_detail_info_wrap .contest_detail dl dd .detail_list ul li .teg {
	display: inline-block;
	margin-right: var(--gap-sm);
	background-color: var(--col-gray2);
	text-align: center;
	line-height: 45px;
	font-size: var(--font-size-s);
	width: 95px;
	border-radius: 5px;
}

.contest_detail_info_wrap .contest_detail dl dd .detail_list p.col_blu {
	margin-top: var(--gap-sm);
	color: var(--col-2);
}

.contest_detail_info_wrap .contest_detail dl dd .txt.bold {
	font-weight: 700;
}

.map_list_flex {
	display: flex;
	gap:30px;
	padding: 0 20px 0 20px;
}

.map_list_flex .map_wrap {
	position: relative;
	flex: 0 0 610px;
}

.map_list_flex.pop { 
	padding: 0;
}

.map_list_flex.pop .vote_top10_header {
	padding: 10px 20px;
	border-bottom: 1px solid #ddd;
	gap: 10px;
	margin-bottom: 0;
}

.map_list_flex.pop .vote_top10_header a {
	display: flex;
	background: #121212;
	color: #fff;
	align-items: center;
	width: 80px;
	justify-content: center;
	height: 38px;
	line-height: 1;
}

.map_list_flex.pop .vote_top10_header a i {
	display: flex;
	gap: 5px;
	align-items: center;
}

.map_list_flex.pop .vote_top10_header a i .txt {
	font-family: "Pretendard", "sans-serif";
}

.map_list_flex.pop .vote_top10_list {
	padding: 10px 60px;
	height: calc(100vh - 80px);
	overflow: auto;
	border: 0;
}

.map_list_flex.pop .vote_top10_list .vote_top10_item {
	flex-direction: row;
	align-items: center;
}

.map_list_flex.pop .vote_top10_list .vote_top10_item .bar_wrap {
	flex: 1;
}

/* .map_list_flex.pop .vote_top10_list .vote_top10_item .info {text-align: right;} */
.map_list_flex.pop .vote_top10_list .vote_top10_item .bar_wrap .bar {
	height: 32px;
}

@media screen and (max-width:1024px) {

	.map_list_flex {
		flex-direction: column;
	}
}

/* 지역문화자원 목록 s*/
.resource_wrap {
	position: relative;
	flex: 1;
}


/* 태그 영역 */
.vote_tags {
    display: flex;
    gap: 13px;
}
.vote_tags .tag {
	display: inline-block;
	font-size: 18px;
    padding: 7px 10px;
    line-height: 1;
    border-radius: 3px;
    font-weight: 600;
}

.vote_tags .tag1 {
	background: #d8f3dc;
	color: #1b4332;
}

.vote_tags .tag2 {
	background: #fde2e4;
	color: #9d0208;
}


.vote_item_wrap {
	position: relative;
	max-width: 800px;
	margin: 0 auto 40px;
	padding: 20px;
	background: #fff;
	border-radius: 8px;
	font-size: 17px;
	/* 기본 폰트 최소 17px */
	line-height: 1.6;
}

/* 개별 아이템 */
.vote_item {}

/* 상단 영역 */
.vote_item .vote_top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	/* 작은 화면에서 줄바꿈 */
	gap: 10px;
}

/* 버튼 영역 */
.vote_actions {
	position: absolute;
	top: 25px;
	right: 20px;
}

.vote_actions .btn {
	padding: 6px 14px;
	font-size: 17px;
	text-decoration: none;
	border-radius: 4px;
	margin-left: 6px;
	display: inline-block;
	text-align: center;
}

.vote_actions .btn.vote {
	background: #1a2bff;
	color: #fff;
}

.vote_actions .btn.close {
	background: #e63946;
	color: #fff;
}

/* 제목 영역 */
.vote_item .vote_title {
	font-size: 21px;
	font-weight: bold;
	margin: 15px 0 10px;
}

.vote_item .vote_title .vote_count {
	color: #e76f51;
	font-weight: 600;
	margin-left: 6px;
	font-size: 17px;
}

/* 이미지 영역 */
.vote_item .vote_img {
	margin: 12px 0;
}

.vote_item .vote_img img {
	width: 100%;
	border-radius: 6px;
}

/* 설명 영역 */
.vote_item .vote_desc {
	font-size: 17px;
	color: #333;
	line-height: 1.6;
	margin-top: 10px;
}

/* ========================= */
/* 반응형 스타일 추가 부분 */
/* ========================= */

/* 태블릿 이하 (1024px) */
@media screen and (max-width: 1024px) {
	.vote_item_wrap {
		/* max-width: 95%; */
		padding: 25px 20px;
	}

	.vote_item .vote_title {
		font-size: 19px;
	}

	.vote_item .vote_desc {
		font-size: 16px;
	}

	.vote_item .vote_actions .btn {
		font-size: 16px;
		padding: 8px 12px;
		line-height: 1;
	}
}

/* 모바일 (768px 이하) */
@media screen and (max-width:550px) {
	.contest_detail_info_wrap .contest_detail {border-radius:0;}
	.map_list_flex {
		padding: 0 15px;
	}

	.vote_item_wrap {
		padding: 15px;
	}

	.vote_item_wrap .btn_vote,
	.vote_tags .tag {
		padding: 7px 8px;
		font-size: 16px;
		margin: 0;
	}
	.resource_wrap .resource_list .resource_item .content .title {font-size:17px;}
	.vote_item .vote_top {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		/* margin-top: 60px; */
	}

	.vote_item .vote_top .vote_tags {
		display: flex;
		gap: 10px;
		align-items: center;
		flex-wrap: wrap;
	}

	.vote_item .vote_title {
		font-size: 18px;
	}

	.vote_item .vote_desc {
		font-size: 15px;
		line-height: 1.5;
	}

	.vote_item .vote_actions {
		display: flex;
		gap: 6px;
		flex-wrap: wrap;
		top:15px;
	}

	.vote_item .vote_actions .btn {
		flex: 1;
		font-size: 15px;
		padding: 8px 10px;
		text-align: center;
	}
	.vote_item_wrap .btn_vote, .vote_tags .btn_vote {
    position: absolute;
    right: 20px; 
    top: 51px;}
}

/* 작은 모바일 (480px 이하) */
@media screen and (max-width: 480px) {
	.vote_item .vote_actions {right:10px;}
	.vote_item_wrap .btn_vote, .vote_tags .btn_vote {
    right: 10px;}
	.vote_item_wrap {
		padding: 12px;
	}

	.vote_item .vote_title {
		font-size: 17px;
	} 

	.vote_item .vote_desc {
		font-size: 14px;
	}

	.vote_item .vote_actions .btn {
		font-size: 14px;
		padding: 6px 8px;
	}
}


/* -----------------------
   상단 헤더 영역
   ----------------------- */
.resource_wrap .list_header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 20px;
}

.resource_wrap .list_header h2 {
	font-weight: 700;
	align-items: center;
}
.vote_rate,
.resource_wrap .list_header h2 .vote_rate {font-size:19px;font-weight:700;color:#1a237e;}

.resource_wrap .list_header h2 select {font-size:17px;}

.resource_wrap .top_list_info {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #ddd;
	padding-bottom: 8px;
	align-items: center;
	/* flex-wrap: wrap; */
	gap: 15px;
} 
.resource_wrap .top_list_info .area_search_wrap {
	position:relative;
	width:190px;margin-left:auto;
}
.resource_wrap .top_list_info .area_search_wrap input {width:100%;}

.resource_wrap .top_list_info .area_search_wrap button {position: absolute;right:0;top:50%;transform:translateY(-50%);padding:0;width:50px;height:50px;}
 
.resource_wrap .top_list_info .info {
	display: flex;
	flex-wrap: wrap;
	color: #333;
	font-size: 17px; 
}

.resource_wrap .top_list_info .info a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #333;
	text-decoration: none;
	font-size: 17px;
	margin: 0 4px;
}

.resource_wrap .top_list_info .info a.bold {
	font-weight: bold;
	color: #1a237e;
}

.resource_wrap .top_list_info .info a.on span {
	font-weight: bold;
	color: #1a237e;
}

.resource_wrap .top_list_info .info a.on i:before {
	transform: rotate(180deg) translateY(2px);
}

.resource_wrap .top_list_info .info a:hover {
	font-weight: bold;
}

.resource_wrap .top_list_info .info a i {
	font-size: 14px;
	/* font-size: 17px; */
	display: flex;
	gap: 5px;
	vertical-align: middle;
}

.resource_wrap .top_list_info .info a i span {
	order: 1;
	font-size: 17px;
}

.resource_wrap .top_list_info .info a i:before {
	order: 2;
	transform: translateY(3px)
}

.resource_wrap .top_list_info .vote_rate {
	color: #1a237e;
	font-weight: 700;
	margin-left: auto;
}

/* -----------------------
   리스트 영역
   ----------------------- */
.resource_wrap .resource_list {
	display: flex;
	flex-direction: column;
	/* gap: 20px; */
}

.resource_wrap .resource_list.topline {
	border-top: 2px solid #000;
}

.recomm_view {
	margin-top: 10px;
	font-size: 19px;
	color: #000;
	font-weight:bold;
	display: flex;gap:10px;
	align-items: center;
}

.recomm_view strong {
	font-weight:400;
} 
.recomm_view span {
	display: flex;
	gap:10px;
	font-size:21px;
} 
.recomm_view span:before {content:':';display: inline-block;} 

/* 개별 아이템 */
.resource_wrap .resource_list .resource_item {
	display: flex;
	border-bottom: 1px solid #ddd;
	padding: 15px;
	border-radius: 6px;
	overflow: hidden;
	/* background: #fafafa; */
	align-items: start;
}

/* 썸네일 영역 */
.resource_wrap .resource_list .resource_item .thumb {
	flex: 0 0 165px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 10px;
	line-height: 0;font-size: 0;
}
.resource_wrap .resource_list .resource_item .thumb span {display: block;background-position:center;background-size: cover;background-repeat: no-repeat;}
.resource_wrap .resource_list .resource_item .thumb img {
	width: 100%;
	/* height: 100%; */
	object-fit: cover;
	opacity:0;
	display: block;
}

.resource_wrap .resource_list .resource_item .thumb a {
	display: block;
	background: #555;
	color: #fff;
	text-align: center;
	padding: 10px 0;
	text-decoration: none;
	line-height: 1;
	font-size: 17px;
}

/* 내용 영역 */
.resource_wrap .resource_list .resource_item .content {
	flex: 1;
	padding: 0 15px;
}

/* 상단: 태그 + 버튼 */
.resource_wrap .resource_list .resource_item .content .top_area {
	display: flex;
	justify-content: start;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-bottom: 3px;
	line-height: 1;
}

.resource_wrap .resource_list .resource_item .content .vote_tags {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

/* .resource_wrap .resource_list .resource_item .content .vote_tags .tag {
	display: inline-block;
	font-size: 17px;
	padding: 10px 14px;
	border-radius: 4px;
	background: #e0e0e0;
}
.resource_wrap .resource_list .resource_item .content .tags .tag.teg1 {background-color: #dbedbf;color: #185104;}
.resource_wrap .resource_list .resource_item .content .tags .tag.teg2 {background-color: #ffdbd3;
    color: #2b0504;} */
/* 제목 */
.resource_wrap .resource_list .resource_item .content .title {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 6px;
}

.resource_wrap .resource_list .resource_item .content .title .vote {
	color: #e65100;
	font-weight: 700;
}

/* 설명 */
.resource_wrap .resource_list .resource_item .content .desc {
	font-size: 17px;
	color: #444;
	/* margin-bottom: 10px; */
	line-height: 1.5;
}

/* 버튼 */
.btn_c_area {text-align: center;margin:15px 0;}
.btn_c_area button {padding:10px 25px;}
.btn_view,
.btn_vote {
	display: inline-block;
	background: #1a237e;
	border: 1px solid #1a237e;
	color: #fff;
	font-size: 16px;
	padding: 7px 14px;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 500;
	white-space: nowrap;
}
.btn_view2 {
	display: inline-block;
	background: #079751;
	border: 1px solid #079751;
	color: #fff; 
	font-size: 16px;
	padding: 7px 14px;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 500;
	white-space: nowrap;
}
.btn_disabled {
	display: inline-block;
	background: #7d7d7d;
	border: 1px solid #7d7d7d;
	color: #fff;
	font-size: 16px;
	padding: 7px 14px;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 500;
	white-space: nowrap;
}
.btn_view:hover,
.btn_vote:hover {
	background: #fff;
	font-weight: bold;
	color: #1a237e;
	/* 버튼 줄바꿈 방지 */
}

.btn_vote_result {
	display: inline-block;
	background: #5307af;
	color: #fff;
	font-size: 19px;
	padding: 10px 25px;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 500;
	white-space: nowrap;
	/* 버튼 줄바꿈 방지 */
}



/* -----------------------
   반응형
   ----------------------- */
@media screen and (max-width:1280px) {
	.map_list_flex {gap:20px;}
	.map_list_flex .map_wrap {
        flex: 0 0 auto;
        max-width: 480px;
        width: 100%;
        margin: 0 auto;
    }
}
@media screen and (max-width: 768px) {
	.resource_wrap .top_list_info {flex-wrap:wrap;}
	.resource_wrap .resource_list .resource_item .content {
		padding: 0;
		width:100%;
	} 

	.resource_wrap .resource_list .resource_item {
		flex-direction: column;
		gap: 15px;
		padding: 15px 0;
	}

	.resource_wrap .resource_list .resource_item .thumb {
		position: relative;
		flex: unset;
		width: 100%;
	}

	.resource_wrap .resource_list .resource_item .thumb a {
		position: absolute;
		right: 10px;
		bottom: 10px;
		padding: 15px 25px;
		background: #000;
		/* border: 2px solid #fff; */
	}

	.resource_wrap .resource_list .resource_item .content .top_area {
		align-items: start;
		gap: 5px;
	}

	.resource_wrap .resource_list .resource_item .content .actions {
		margin-left: auto;
	}
}

@media screen and (max-width: 380px) {
	.resource_wrap .list_header h2 {
		font-size:17px;
	}
	.sticky .btn_view,
	.sticky .btn_view2 {
	font-size:14px;padding:6px 9px; 
	}
	.sticky h2.tit_ico2 .top_btn_area {gap:15px 15px;}
}

/* 지역문화자원 목록 e*/

/* 지도 start */
.map_wrap .exp {
	font-size: 17px;
	color: #777;
	text-align: center;
	margin-top: 10px;
}

.map_wrap .map_teg {
	display: block;
}

.map_wrap .sticky {
	position: sticky;
	top: 0;
	bottom: 0;
}

.map_wrap .relative {
	position: relative;
    max-width: 550px;
    margin: 0 auto;
}

.map_wrap .map_teg .teg_type1 {
	background: #005bac;
}

.map_wrap .map_teg .teg_type2 {
	background: #128bbb;
}

.map_wrap .map_teg .teg_type3 {
	background: #75ae2c;
}

.map_wrap .map_teg .teg_type1:after {
	border-top-color: #005bac !important;
}

.map_wrap .map_teg .teg_type2:after {
	border-top-color: #128bbb !important;
}

.map_wrap .map_teg .teg_type3:after {
	border-top-color: #75ae2c !important;
}

.map_wrap .map_teg .teg {
	position: absolute;
	padding: 3px 10px;
	border-radius: 5px;
	text-align: center;
}

.map_wrap .map_teg .teg button {
	color: #fff;
	font-size: 14px;
	line-height: 1.3;
	width: 100%;
	display: block;
	text-align: center;
	padding: 0 5px;
}

.map_wrap .map_teg .teg.ov {
	animation: bounce 1.5s infinite;
}

.map_wrap .map_teg .teg:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 0;
	border: 10px solid transparent;
	border-bottom: 0;
	margin-left: -10px;
	margin-bottom: -10px;
}

.map_wrap .map_teg .teg .num {
	display: block;
}

.map_wrap .map_teg .teg.seoul {
	top: 11%;
	left: 27%;
}

.map_wrap .map_teg .teg.kyunggi {
	top: 20%;
	left: 35%;
}

.map_wrap .map_teg .teg.incheon {
	top: 7%;
	left: 15%;
}

.map_wrap .map_teg .teg.kangwon {
	top: 7%;
	left: 55%;
}

.map_wrap .map_teg .teg.cn {
	top: 38%;
	left: 17%;
}

.map_wrap .map_teg .teg.cb {
	top: 28%;
	left: 45%;
}

.map_wrap .map_teg .teg.sejong {
	top: 30%;
	left: 31%;
}

.map_wrap .map_teg .teg.daejeon {
	top: 39%;
	left: 34%;
}

.map_wrap .map_teg .teg.jb {
	top: 52%;
	left: 23%;
}

.map_wrap .map_teg .teg.kwangju {
	top: 61%;
	left: 18%;
}

.map_wrap .map_teg .teg.jn {
	top: 72%;
	left: 15%;
}

.map_wrap .map_teg .teg.kb {
	top: 37%;
	left: 68%;
}

.map_wrap .map_teg .teg.kn {
	top: 62%;
	left: 46%;
}

.map_wrap .map_teg .teg.daegu {
	top: 51%;
	left: 60%;
}

.map_wrap .map_teg .teg.ulsan {
	top: 57%;
	left: 77%;
}

.map_wrap .map_teg .teg.busan {
	top: 64%;
	left: 67%;
}

.map_wrap .map_teg .teg.jeju {
	top: 87%;
	left: 15%;
}

.map_wrap svg g {
	position: relative;
}

.map_wrap svg g.active {
	z-index: 2;
}

/* 지도 end */
/* vote start */

.vote_top10_header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
	gap: 10px;
}

.vote_top10_header h2 {
	font-size: 18px;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 6px;
}

/* .vote_top10_header h2::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #1a237e;
} */

.vote_top10_header .btn_more {
	display: inline-block;
	background: #1a237e;
	color: #fff;
	font-size: 17px;
	font-weight: 400;
	letter-spacing: 0;
	padding: 8px 14px;
	border-radius: 4px;
	text-decoration: none;
	/* margin: 10px 0;; */
	margin-left: auto;
}

/* 리스트 */
.vote_top10_list {
	display: flex;
	flex-direction: column;
	gap: 21px;
	padding: 20px;
	border: 1px solid #ddd;
}
.vote_top10_list.main {
	gap:15px;
}
 
.vote_top10_item {
	display: flex;
	align-items: center;
	gap: 10px;
}
 
/* 왼쪽 정보 */
.vote_top10_item .info {
	flex: 0 0 130px;
	line-height: 1.2;
	/* order: 2; */
	text-align: right;
	margin-right:15px;
}
 
.main .vote_top10_item .info {
	flex: 0 0 50px;
}
.map_list_flex.pop .vote_top10_item .info {
	/* flex:0 0 auto; */
}
.vote_top10_item .num {
    padding: 0 7px;
    background: #333;
    border-radius: 3px;
    color: #fff;
    font-size: 16px;
    width: 40px;
    text-align: center;
    line-height: 30px;
}
.vote_top10_item .info .region {
	font-size: 19px;
	color: #0482bb;
	padding-left: 0;
	font-weight: 600;
}

/* .pop .vote_top10_item .info {text-align: left;} */
.vote_top10_item .info .name {
	font-size: 18px;
	margin-top: 2px;
	display: block;
	text-align: right;
	display: none;
}

.vote_top10_item .info .name .num {
	display: inline-block;
	padding: 5px 5px;
	background: #333;
	color: #fff;
	line-height: 1;
	border-radius: 20px;
	font-size: 14px;
	width: 50px;
	text-align: center;
}

/* 순위 + 그래프 */
.vote_top10_item .bar_wrap {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 10px;
}

.vote_top10_item .bar_wrap .rank { 
	flex: 0 0 30px;
	text-align: center;
	font-weight: 700;
	background: #2e7d32;
	color: #fff;
	border-radius: 3px;
	padding: 4px 0;
}

.vote_top10_item .bar_wrap .bar {
	flex: 1;
	height: 30px;
	background: #f4f5f6; 
	overflow: hidden;
	position: relative;
	padding-right: 50px;
}
.pop .vote_top10_item .bar_wrap .bar {
	padding-right:80px;
}
.vote_top10_item .bar_wrap .bar .percent {
	position: absolute;
	right: -42px;
	top: 50%;
	transform: translateY(-50%);
	color: #333;
	font-size: 15px;
}
.pop .vote_top10_item .bar_wrap .bar .percent {
	right:-72px;
}

.main_bottom_wrap .vote_top10_item .bar_wrap .bar .percent {
	right:-52px;
}

.vote_top10_item .bar_wrap .bar .progressbar {
	position: relative;
	display: block;
	height: 100%;
	background: #75ae2c;
	color: #fff;
	line-height: 1;
	font-size: 16px;
	display: flex;
	align-items: center;
	padding-left: 10px;
}

.main .vote_top10_item .bar_wrap .bar .progressbar {
	background : #23a4df;
}

.vote_top10_item .bar_wrap .bar span.num {}

.vote_top10_item .bar_wrap .percent {
	flex: 0 0 40px; 
	font-size: 18px;
	text-align: right;
}

.btn_btm {
	display: flex;
	gap: 20px;
	margin-top:10px;
}

.btn_btm a:hover {
	color: #fff;
}

.btn_btm a {
	display: inline-block;
	padding: 7px 20px;
	line-height: 1;
	font-size: 15px;
	border-radius: 4px;
	background: #fff;
	font-weight: bold;
}

.btn_btm a.btn_1 {
	color: #0370a8;
	border: 1px solid #0370a8;
}

.btn_btm a.btn_1:hover {
	background: #0370a8;
	border: 1px solid #0370a8;
	color: #fff;
}

.btn_btm a.btn_2 {
	color: #0370a8;
	border: 1px solid #0370a8;
}

.btn_btm a.btn_2:hover {
	background: #0370a8;
	border: 1px solid #0370a8;
	color: #fff;
}

.pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap:wrap;
	gap: 8px;
	margin: 20px 0;
	font-family: 'Noto Sans KR', sans-serif;
}

.pagination a {
	display: inline-block;
	padding: 8px 14px;
	border-radius: 8px;
	border: 1px solid #ddd;
	background-color: #fff;
	color: #333;
	text-decoration: none;
	font-size: 14px;
	transition: all 0.2s ease-in-out;
}

.pagination a:hover {
	background-color: #f0f0f0;
	border-color: #bbb;
}

.pagination a.active {
	background-color: #333;
	color: #fff;
	border-color: #333;
	font-weight: bold;
}

.pagination a.next {
	font-weight: 500;
	border: 1px solid #aaa;
}



@media screen and (max-width: 740px) {
	.pagination a {
		padding: 4px 11px;
		border-radius: 5px;
		font-size:13px; 
	}
	.vote_top10_header {}

	.vote_top10_list {
		gap: 5px;
	}

	.vote_top10_item {
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
		margin-top: 10px;
		text-align: left;
	}

	.vote_top10_item .info {
		font-size: 15px;
		flex:0 0 110px;
	}
	.vote_top10_item .num {margin-left:auto;}

	.vote_top10_item .info .region {
		font-size: 17px;
		padding: 0;
	}

	.vote_top10_item .info .name {
		font-size: 15px;
	}

	.vote_top10_item .bar_wrap {
		width: 100%;
		gap: 0;
	}

	.vote_top10_item .bar_wrap .rank {
		flex: 0 0 24px;
		font-size: 15px;
	}

	.vote_top10_item .bar_wrap .bar {
		height: 22px;
	}

	.vote_top10_item .bar_wrap .bar span {
		font-size: 14px;
		padding-left: 5px;
	}

	.vote_top10_item .bar_wrap .percent {
		flex: 0 0 32px;
		font-size: 15px;
	}
}

@media screen and (max-width: 480px) {
	.vote_top10_list {
		padding: 10px;
	}

	.vote_top10_item .bar_wrap {
		flex: 1 1 100%;
	}

	.vote_top10_item {
		border-bottom: 1px solid #ddd;
		padding-bottom: 10px;
	}

	.vote_top10_item .info {
		text-align: left;
	}

	.vote_top10_item .info .name {
		text-align: left;
	}
	.map_list_flex.pop .vote_top10_list {padding:10px 15px;height:calc(100vh - 100px);}
	.map_list_flex.pop .vote_top10_list .vote_top10_item .bar_wrap .bar {
		height: 20px;
	}

	.map_list_flex.pop .vote_top10_list .vote_top10_item .bar_wrap {
		flex: 1 1 100%;
	}

	.map_list_flex.pop .vote_top10_header a {
		height: 34px;
		width: 65px;
        margin-left: auto;
	}

	.map_list_flex.pop .vote_top10_header a i {
		font-size: 14px;
	}

	.map_list_flex.pop .vote_top10_header a i .txt {
		font-family: "Pretendard", "sans-serif";
	}
}

/* vote end */

/* vote result start */

.result_pop_wrap {
	position: relative;
	/* max-width: 640px; */
	width: 100%;
    display: flex;
    flex-direction: column;
}

.result_pop_wrap .result_top {
	position: relative;
}

.result_pop_wrap .result_top .vote_actions {
	top: 50%;
	transform: translateY(-50%);
}

.result_pop_wrap .result_tit {
	height: 55px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #333;
	color: #fff;
	padding: 0 20px;
}

.vote_box_wrap {
	padding: 15px 20px;
	font-size: 17px;
	line-height: 1.6;
    flex: 1;
    overflow: auto;
    max-height: calc(100vh - 60px);
}

/* 헤더 */
.vote_box_header {
	background: #333;
	color: #fff;
	padding: 14px 18px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.vote_box_header .title {
	font-weight: bold;
	font-size: 18px;
}

.vote_box_header .btn_close {
	background: #e63946;
	color: #fff;
	padding: 7px 14px;
	border-radius: 4px;
	text-decoration: none;
	font-size: 16px;
}

/* 리스트 */
.vote_box_list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.vote_box_list li {
	display: flex;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid #ddd;
	background: #fff;
}

.vote_box_list li:last-child {
	border-bottom: none;
}

/* 썸네일 이미지 2배 */
.vote_box_list .thumb {
	flex: 0 0 120px;
	/* 기존 70px → 140px */
	/* height: 100px; */
	/* 기존 50px → 100px */
	margin-right: 14px;
	background-size:cover;
	background-position: center;
	background-repeat: no-repeat; 
}

.vote_box_list .thumb img {
	width: 100%;
	opacity:0;
	/* height: 100%; */
	object-fit: cover;
	border-radius: 4px; 
}

/* 정보 영역 */
.vote_box_list .info {
	flex: 1;
}

.vote_box_list .info .tag {
	display: inline-block;
	font-size: 18px;
    color: #1b4332;
    background-color: #dcf7dd;
    padding: 7px 10px;
    line-height: 1;
    margin-bottom: 5px;
    border-radius: 3px;
    font-weight: 600;
}

.vote_box_list .info .name {
	font-size: 18px;
	font-weight: 700;
	margin: 0;
}

/* 삭제 버튼 */
.vote_box_list .actions {
	flex: 0 0 auto;
}

.vote_box_list .actions .btn_delete {
	background: #e63946;
	color: #fff;
	padding: 7px 12px;
	font-size: 16px;
	border-radius: 4px;
	text-decoration: none;
}

/* 안내문 */
.vote_box_notice {
	padding: 12px 18px;
	background: #fff;
	color: #d32f2f;
	font-size: 16px;
	line-height: 1.5;
	border-top: 1px solid #ddd;
}

/* 푸터 */
.vote_box_footer {
	padding: 16px;
	text-align: center;
}

.vote_box_footer .btn_vote {
	padding: 7px 35px;
	font-size: 19px;
}

.vote_box_footer .btn_final_vote {
	display: inline-block;
	background: #1a2bff;
	color: #fff;
	font-weight: bold;
	padding: 12px 28px;
	border-radius: 4px;
	text-decoration: none;
	font-size: 17px;
}

/* vote result end */
.recommender_wrap {
	padding: 20px 0;
	border-top: 1px solid #ddd;
}

.recommender_wrap .flex {
	display: flex;
	gap: 5px 15px;
	align-items: center;
}
.sub_visual_vote {
	text-align: center;
	max-width:1903px;
	margin:0 auto;
	line-height: 0;
	font-size:0;
	margin-bottom:55px;
}
.sub_visual_vote .login_txt {font-size:21px;line-height: 1.5;background:#00b15b;color:#fff;display: flex;gap:20px;justify-content: center;align-items: center;padding:15px 15px;}
.sub_visual_vote .login_txt p {}
.sub_visual_vote .login_txt .btn_login {}

.sub_visual {
	min-height: 180px;
	background-color: #F8E276;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: var(--gap-big);
	font-weight: 900;
	background-image: url(/local100/images/bg_sub.png);
	background-repeat: no-repeat;
	background-position: center;
	flex-direction: column;
}
.sub_visual .big {
	font-size: var(--font-size-tit);
	color: var(--col-1);
}
.sub_visual .sm {
	font-size: var(--font-size-b2);
	color: #e63946;
	font-weight: 
00;
}

.sub_visual .login_txt {
	display: flex;
	align-items: center;
	gap: 15px;
	color: #000;
	font-size: 25px;
	font-weight: 400;
	margin-top: 10px;
}

.c_r {
	color: #ff0000;
}

.btn_wrap {
	text-align: center;
}

button {
	cursor: pointer;
	border-radius: 5px;
	height: var(--form-h);
	padding: 0 25px;
}

.btn_addr {
	background-color: var(--col-gray-dark);
	color: #fff;
}

.btn_file {
	background-color: var(--col-gray-dark);
	color: #fff;
}

.btn_login {
	background-color: var(--col-1);
	color: #fff;
	height: auto;
	padding: 8px 25px;
	font-size: var(--font-size);
}

.btn_completed {
	background-color: var(--col-1);
	color: #fff;
	height: auto;
	padding: 15px 60px;
	font-size: var(--font-size-b2);
}

.tab_area ul {
	display: flex;
	justify-content: center;
	gap: var(--gap-base);
	margin-bottom: var(--gap-base);
}

.tab_area ul li a {
	display: block;
	width: 200px;
	background-color: #f4f4f4;
	text-align: center;
	padding: var(--gap-sm);
	border-radius: 8px;
	cursor: default;
	font-size: var(--font-size-b2);
}

.tab_area ul li.on a {
	background-color: var(--col-3);
	color: #fff;
}

.info_inner {
	display: flex;
	flex-direction: column;
	padding: 18px 0;
}

.top_area {
	display: flex;
	justify-content: space-between;
	margin-bottom: 15px;
}

h2.tit_ico2,
.top_area .tit_ico2 {
	font-size: var(--font-size-b);
	font-weight: 700;
	display: flex;
	flex-wrap:wrap;
	gap: 10px;
	word-break: keep-all;
}
h2.tit_ico2 .top_btn_area {
	margin-left:auto;
	display: flex;
    gap: 15px 20px;
    flex-wrap: wrap;
}

h2.tit_ico2:before,
.top_area .tit_ico2::before {
	content: "";
	width: 33px;
	height: 33px;
	background-image: url(/local100/images/ico_tit.png); 
	background-repeat: no-repeat;
	background-position: center;
}
h2.tit_ico2 button,
h2.tit_ico2 a {margin-left:auto;}

.info_inner .top_area .tit_ico3 {
	font-size: var(--font-size-b);
	font-weight: 700;
}

.info_inner .info_detail_area .base_info {
	background-color: var(--col-5);
	border: 1px solid var(--col-4-b);
	padding: var(--gap-base);
	font-size: var(--font-size);
	border-radius: var(--gap-sm);
}

.info_detail_area {}

.info_detail_area .form_block {}

.info_detail_area .form_block .exp_box {
	display: block;
	padding: 36px 36px;
	background: #f4f4f7;
	color: #777;
	width: 100%;
	color: #000;
}

.info_detail_area .form_block .exp_box .mesg {
	font-size: 21px;
	font-weight: 700;
	margin-bottom: 24px;
}

.info_detail_area .form_block .exp_box dl + dl {
	margin-top: 20px;
}

.info_detail_area .form_block .exp_box dl dt {
	font-weight: 600;
}

.info_detail_area .form_block .exp_box dl dd {
	color: #333;
	padding-left: 18px;
}

.info_inner .info_detail_area .base_info dl {
	color: var(--col-gray-dark);
	font-weight: 600;
}

.info_inner .info_detail_area .base_info dl + dl {
	margin-top: 10px;
}

.info_inner .info_detail_area .base_info dl dt {
	display: inline-block;
}

.info_inner .info_detail_area .base_info dl dd {
	display: inline-block;
}

.info_inner .info_detail_area .form_block {
	display: flex;
	gap: 20px;
}

.info_inner .info_detail_area .form_block + .form_block {
	margin-top: 10px;
}

.info_inner .info_detail_area .exp_r {
	text-align: right;
	margin-top: 5px;
}

.info_inner .info_detail_area .exp_r.sm {
	color: #777;
	font-size: var(--font-size-s);
}

.note_info {
	padding: var(--gap-base);
	margin-bottom: var(--gap-big);
	margin-top: var(--gap-base);
	background-color: var(--col-gray3);
	border-radius: var(--gap-sm);
}

.note_info dt {
	color: var(--col-red);
}

.note_info dd {
	color: var(--col-gray-dark);
}

.info_write_wrap {
	max-width: 1280px;
	margin: 0 auto;
	border: 1px solid #ccc;
	border-radius: var(--gap-base);
	padding: var(--gap-base) var(--gap-big);
	margin-bottom: var(--gap-big);
	background-color: #fff;
	margin-top: var(--gap-base);
}

/* :::::   응모완료  ::::: */
.info_view_wrap {
	margin-top: var(--gap-big);
	padding: 0 24px;
}

.info_view_wrap .top_mesg {
	margin-bottom: var(--gap-base);
	text-align: center;
	color: var(--col-2);
	font-size: var(--font-size-b);
	font-weight: 600;
	background-color: var(--col-gray3);
	padding: var(--gap-base);
	margin-bottom: var(--gap-big);
	border-radius: var(--gap-sm);
}

.info_view_wrap .view_block {
	max-width: 1280px;
	margin: 0 auto;
	border: 1px solid #ccc;
	border-radius: var(--gap-base);
	padding: var(--gap-big);
	margin-bottom: var(--gap-big);
	background-color: #fff;
}

.info_view_wrap .view_block .info_inner {
	padding: 0;
}

.info_view_wrap .view_block .info_inner dl + dl {
	margin-top: var(--gap-base);
	border-top: 1px dashed #ddd;
	padding-top: var(--gap-base);
}

.info_view_wrap .view_block .info_inner dl dt {
	font-weight: 700;
	font-size: var(--font-size-b);
	display: flex;
	gap: 6px;
}

.info_view_wrap .view_block .info_inner dl dt:after {
	content: "";
	width: 9px;
	height: 9px;
	margin-top: 3px;
	background-color: var(--col-1);
	border-radius: 50%;
}

.info_view_wrap .view_block .info_inner dl dd {
	color: var(--col-gray-dark);
	font-size: var(--font-base);
	margin-top: var(--gap-sm);
	color: var(--col-gray-dark);
}

.info_view_wrap .view_block .info_inner dl dd .gallery_list ul {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	max-width: 100%;
}

.priv_wrap {
	max-width:960px;
	margin:0 auto;
}
.priv_wrap .priv_box {
	padding: 25px 35px;
	background-color: var(--col-gray1);
	/* border-radius: var(--gap-base); */
}

.priv_wrap .priv_box .certification_area {
	display: flex;
	justify-content: center;
}

.priv_wrap .priv_box .certification_area .txt {
	font-size: var(--font-size);
	padding: 40px 30px 40px 200px;
	background-image: url(/local100/images/bg_step_02.png);
	background-repeat: no-repeat;
	background-position: center left;
}

.priv_wrap .priv_box .priv_tit {
	text-align: center;
	font-size: var(--font-size-b2);
}

.priv_wrap .priv_box p {
	/* font-size: var(--font-size-s2); */
}

.priv_wrap .priv_box p + p {
	margin-top: 10px;
}
 
.priv_wrap .priv_box .bold {
	font-weight: bold;
}

.priv_wrap .priv_box ul {
	padding: 12px;
}

.priv_wrap .priv_box ul li {
	font-size: var(--font-size);
    text-indent: -14px;
    padding-left: 14px;
}

.priv_wrap .agree_area .chk_form {
	margin-left: auto;
}

.priv_wrap .agree_area {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--gap-sm) 0;
	border-bottom: 1px solid #ddd;
	flex-wrap: wrap;
	gap: 15px;
}

.main_bottom_wrap {display: flex;gap:30px;padding:50px 0;}
.main_event_guide {flex:0 0 50%;}
.main_event_guide .block {/* border:1px solid #ddd; *//* padding:25px; */}
.main_event_guide .tit {font-weight:bold;font-size:21px;}
.main_event_guide .txt {}
.main_event_guide .event_list_wrap {}
.main_event_guide .event_list_wrap .event_block {/* margin-top:15px; */} 
.main_event_guide .event_list_wrap .event_block dt {display: flex;align-items: center;white-space: nowrap;}
.main_event_guide .event_list_wrap .event_block dt .tabs {display:inline-block;line-height: 1;font-weight:700;font-size: 16px;}
.main_event_guide .event_list_wrap .event_block dt strong {
 display:inline-block;
 /* margin-left:10px; */
 font-size: 19px;
 font-weight: bold;
 color: #00940d;
 }
 .main_event_guide .event_list_wrap .event_block dt.point {color:#0F1981;font-weight:bold;} 
.main_event_guide .event_list_wrap .event_block dd {font-size:18px;}
.main_event_guide .exp {text-indent:-15px;padding-left:15px;font-size:17px;margin-top:10px;}
 
.main_btm_area {display:flex;margin-top:10px;justify-content: end;}
.btn_link {border:2px solid #0F1981;color:#000;padding:14px 30px;display: inline-block;line-height: 1;background:#0F1981;color:#fff;display: flex;gap:10px;align-items: center;}
.btn_link:hover {background:#fff;color:#0F1981;font-weight:bold;}

@media screen and (min-width: 1921px) {
	.header_wrap .contents .gnb_wrap ul li a {
		padding: 25px 30px;
	}

	.sub_visual {
		height: 220px;
		font-size: 35px;
	}

	.btn_completed {
		padding: 20px 85px;
	}

	.tab_area ul li a {
		width: 240px;
	}

	.main_btn_area {
		padding: 36px 0;
	}
}

@media screen and (max-width: 1400px) {
	.header_wrap {
		padding: var(--gap-sm) var(--gap-base);
	}

	.contest_detail_info_wrap,
	.footer_info,
	.main_btn_area {
		padding-left: var(--gap-base);
		padding-right: var(--gap-base);
	}

	.visual_info_wrap:before {
		background-position: bottom right;
		background-size: auto 70%;
	}

	.visual_info_wrap:after {
		background-position: bottom left;
		background-size: auto 70%;
	}

	.priv_wrap {
		padding: 0 24px;
	}

	.tab_area {
		padding: 0 24px;
	}

	.tab_area ul {
		gap: 12px;
	}

	.tab_area ul li {
		flex: 1 1 23%;
	}

	.tab_area ul li a {
		width: auto;
	}
}

@media screen and (max-width: 1280px) {
	.visual_info_wrap .visual_top .txt_img {
		max-width: 550px;
		width: 100%;
	}
	.visual_local_wrap .info_visual .box {flex-wrap:wrap;gap:5px 25px;}
	.visual_local_wrap .info_visual .box dl dt {padding:8px 12px;border-radius:0;}
	.visual_local_wrap .info_visual .box dl {font-size:19px;}
}


@media screen and (max-width: 960px) {
	.main_bottom_wrap {flex-direction: column;}
	.info_view_wrap .view_block .info_inner dl dd .gallery_list ul li img {
		width: 100%;
	}

	.mo_gnb_wrap {
		display: block;
	}

	.header_wrap .contents {
		justify-content: start;
		gap: 20px;
	}

	.header_wrap .contents .gnb_wrap {
		position: absolute;
		right: -100%;
		top: 0;
		bottom: 0;
		background: #fff;
		z-index: 999;
		width: 100%;
		max-width: 500px;
		box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
	}

	.header_wrap .contents .gnb_wrap.on {
		right: 0;
	}

	.header_wrap .contents .gnb_wrap .mo_logo_local {
		display: flex !important;
		padding: 15px;
		gap: 10px;
		align-items: center;
		border-bottom: 1px solid #ddd;
		background-color: #f4f4f4;
	}

	.header_wrap .contents .gnb_wrap .mo_logo_local img {
		height: 35px;
	}

	.header_wrap .contents .gnb_wrap ul {
		flex-direction: column;
		gap: 0;
	}

	.header_wrap .contents .gnb_wrap ul li {
		border-bottom: 1px solid #ddd;
	}

	.header_wrap .contents .gnb_wrap ul li a {
		padding: 12px 15px;
	}

	.header_wrap .contents .logo_main img {
		height: 35px;
	}

	.header_wrap .contents .logo_local img {
		height: 35px;
	}
}
@media screen and (max-width: 768px) {
	.priv_wrap .priv_box {padding:15px;}
	.sub_visual_vote .login_txt {font-size: 17px;flex-wrap:wrap;gap:7px 15px;}
	.visual_local_wrap .info_visual {padding:10px 0;}
	.visual_local_wrap .info_visual .box dl {font-size:17px;}
	.visual_local_wrap .info_visual .box dl dt {padding:6px 10px;}
	.visual_local_wrap .info_visual .box {flex-wrap:wrap;
        justify-content: start;
        padding: 0 20px;}
       .contest_detail_info_wrap .contest_detail .title {font-size:23px;word-break:keep-all;line-height: 1.4;}
       .main_event_guide .event_list_wrap .event_block dt.point,
       .main_event_guide .event_list_wrap .event_block dt strong {font-size:18px;}
       .main_event_guide .event_list_wrap .event_block dd {font-size:16px;}
       .main_event_guide .event_list_wrap .event_block dt .tabs {font-size:16px;}
       .main_event_guide .event_list_wrap .event_block dt {flex-wrap:wrap;}
       .main_event_guide .event_list_wrap .event_block dt.point, .main_event_guide .event_list_wrap .event_block dt strong {margin-left:0;}
}
@media screen and (max-width: 460px) { 

	.map_wrap .map_teg .teg button  {
		line-height: 1.1;
	}

	.vote_box_wrap {padding:10px;}
	.map_wrap .map_teg .teg {
		padding: 3px 5px;
	}

	.vote_box_list .thumb {
		flex: 0 0 70px;
		margin:0;
	}
	.vote_box_list .info {padding-right:50px;}
	.vote_box_list .info .tag {
		font-size: 16px;
	}

	.vote_box_list .info .name {
		font-size: 16px;
	}

	.vote_box_list .actions .btn_delete {
		font-size: 14px;
	}
	.vote_box_list li {
		position:relative;
		padding: 10px 0;
        /* flex-direction: column; */
        align-items: center;
        gap: 10px;
        line-height: 1.2;
	}
	.vote_box_list .actions {
	    position: absolute;
	    right: 0;
	    bottom: 20px;
	}
	.vote_box_notice {padding:5px 0;}

	.recommender_wrap .flex {
		flex-direction: column;
	}

	.recommender_wrap .flex * {
		width: 100% !important;
		text-align: left;
	}
}

@media screen and (max-width: 768px) {
	.resource_wrap .resource_list.topline {
		margin-top: 20px;
	}

	.btn_vote_result {
		font-size: 17px;
		height: auto;
		padding: 10px 25px;
		border-radius: 4px;
	}

	.sub_visual {
		padding: 15px 10px;
		background-size: cover;
		text-align: center;
		word-break: keep-all;
		line-height: 1.4;
	}

	.sub_visual .login_txt {
		flex-wrap: wrap;
		font-size: 19px;
		justify-content: center;
		gap: 5px;
	}

	.tab_area ul li {
		display: none;
	}

	.tab_area ul li.on {
		position: relative;
		display: block;
		margin-bottom: 0px;
	}

	.tab_area ul li.on:after {
		content: "";
		width: 20px;
		height: 4px;
		position: absolute;
		top: 60px;
		background-color: var(--col-1);
		left: 50%;
		transform: translateX(-50%);
	}

	.tab_area ul li.on a {
		background-color: transparent;
		color: var(--col-1);
		font-weight: bold;
		font-size: 24px;
	}

	.main_btn_area .btn_click.type2 p span {
		/* display: block; */
	}

	.resource_wrap .resource_list .resource_item .content .title {
		font-size: 18px;
	}

	.btn_vote {
		font-size: 16px;
		padding:7px 10px;
		line-height: 1;
	}

	.btn_btm a {
		font-size: 14px;
		padding:9px 12px;
	}

	.recomm_view {
		font-size: 17px;
	}

	body {
		line-height: 1.5;
	}

	.visual_info_wrap {
		display: block;
		padding: 36px 25px 30px 25px;
		height: auto;
		background-size: cover;
		background-position: 30%;
		min-height: auto;
	}

	.visual_info_wrap .contents {
		width: 100%;
	}

	.visual_info_wrap .title_area {
		padding: 0;
		margin-bottom: 10px;
	}

	.visual_info_wrap .title_area .tit .point_tit {
		display: block;
		margin: 10px 0;
		text-align: center;
	}

	.visual_info_wrap .title_area .tit .point_tit .point1 {
		display: block;
		line-height: 1.2;
	}

	.visual_info_wrap .title_area .tit .point_tit .point2 {
		display: inline-block;
		line-height: 1.2;
	}

	.visual_info_wrap .title_area .tit .point_tit .point2:before,
	.visual_info_wrap .title_area .tit .point_tit .point2:after {
		width: 25px;
		height: 25px;
		display: inline-block;
		vertical-align: top;
		background-size: contain;
	}

	.contest_detail_info_wrap .contest_detail {
		border-top: 1px solid #ddd;
		background-color: #fff;
		padding: 0 12px;
		padding-top: 24px;
	}

	.contest_detail_info_wrap .contest_detail dl {
		gap: 12px;
	}

	.contest_detail_info_wrap .contest_detail dl dd .subject {
		word-break: keep-all;
	}

	.contest_detail_info_wrap .contest_detail dl dd .detail_list ul {
		gap: 5px;
	}

	.contest_detail_info_wrap .contest_detail dl dd .detail_list ul li {
		word-break: keep-all;
		line-height: 1.5;
        display: flex;
        align-items: center;
		/* align-items: center; */
		min-height: 48px;
	}

	.contest_detail_info_wrap .contest_detail dl dd .detail_list ul li .teg {
		line-height: 35px;
		flex: 0 0 90px;
	}

	.contest_detail_info_wrap .exp_top {
		padding: var(--gap-base);
		font-size: 18px;
		word-break: keep-all;
	}

	.contest_detail_info_wrap .exp_top span {
		/* display: block; */
	}

	.priv_wrap .priv_box .certification_area .txt {
		padding: 120px 20px 20px 20px;
		background-position: top center;
		background-size: auto 100px;
	}

	.priv_wrap .priv_box .certification_area .txt br {
		display: none;
	}

	footer .footer_info .left {
		display: block;
		text-align: center;
	}

	.info_inner .info_detail_area .form_block {
		gap: 10px;
		flex-wrap: wrap;
	}

	.info_inner .info_detail_area .form_block input {
		width: 100%;
		flex: 1;
	}


	.info_inner .info_detail_area .form_block input.etc_form {
		flex: 1 1 100%;
	}

	.info_write_wrap {
		border: 0;
		border-radius: 0;
		margin: 0 24px;
		padding: 0;
	}

	button {
		padding: 0 15px;
	}

	.info_detail_area .form_block .exp_box {
		padding: 24px;
	}

	.info_detail_area .form_block .exp_box .mesg {
		font-size: 18px;
		word-break: keep-all;
	}

	.info_detail_area .form_block .exp_box dl dt {
		font-weight: 700;
		text-indent: -16px;
		padding-left: 16px;
	}

	.info_detail_area .form_block .exp_box dl dd {
		padding-left: 16px;
	}
}


@media screen and (max-width: 620px) {
	

	.header_wrap .contents .logo_main img,
	.header_wrap .contents .logo_local img {
		height: 30px;
	}

	.header_wrap .contents .gnb_wrap .mo_logo_local img {
		height: 30px;
	}

	.info_write_wrap {
		margin: 0 12px;
	}

	.main_btn_area .btn_click {
		font-size: 17px;
		height: 55px;
		border-radius:5px;
		word-break: keep-all;
	}

	.main_btn_area .btn_click.type2:before {
		display: none;
	}

	.visual_info_wrap .visual_top {
		gap: 15px;
	}

	.visual_info_wrap .visual_top .txt_img {
		max-width: 420px;
		width: 100%;
	}

	.visual_info_wrap .visual_bottom span {
		display: inline;
		font-size: 15px;
		word-break: keep-all;
	}

	.visual_info_wrap .contest_info_area {
		justify-content: start;
		align-items: start;
		background-color: rgba(255, 255, 255, 0.7);
		border-radius: 0;
		padding: 12px 24px;
		max-width: 90%;
		margin: 0 auto;
	}

	.visual_info_wrap .contest_info_area dl dd {
		width: auto;
	}

	.visual_info_wrap .title_area .tit {
		margin-bottom: 12px;
		padding: 0 24px;
		word-break: keep-all;
		font-size: 17px;
	}

	.visual_info_wrap .title_area .tit .point_tit .point1 {
		line-height: 1.2;
	}

	.visual_info_wrap .title_area .tit .point_tit .point2:before,
	.visual_info_wrap .title_area .tit .point_tit .point2:after {
		margin: 5px 0 0 0;
		width: 20px;
		height: 20px;
		background-size: contain;
	}

	.contest_detail_info_wrap,
	.footer_info,
	.main_btn_area {
		gap: 10px;
	}

	.contest_detail_info_wrap .contest_detail dl {
		display: block;
	}

	.contest_detail_info_wrap .contest_detail dl dt {
		margin-bottom: 10px;
		font-size: 19px;
	}

	.contest_detail_info_wrap .contest_detail dl dd {
		word-break: keep-all;
	}

	.contest_detail_info_wrap .contest_detail dl dd .subject {
		font-size: 17px;
	} 
	.contest_detail_info_wrap .contest_detail dl dd .detail_list {padding:15px;border:1px solid #ddd;}
	.contest_detail_info_wrap .contest_detail.vote dl dd {padding-left:0;}
	.contest_detail_info_wrap .contest_detail dl dd .detail_list ul li {flex-direction: column;justify-content: start;align-items: start;margin-bottom:15px;}
	.contest_detail_info_wrap .contest_detail dl dd .detail_list ul li .teg {
        flex: 0 0 auto;
        /* background: transparent; */
        padding: 7px 10px;
        height: auto;
        line-height: 1.2;
        text-align: left;
        font-weight: bold;
        width:auto;
        /* font-size:17px; */
        margin-bottom: 4px;}
	.main_btn_area .btn_click.type2 p span {
		/* display: block; */
	}

	.btn_completed {
		padding: 12px 50px;
	}

	footer .footer_info .logo {
		margin-bottom: 10px;
	}

	footer .footer_info .logo img {
		height: 40px;
	}

	footer .footer_info .left .addr {
		padding-top: 5px;
	}
}
@media screen and (max-width: 540px) {
	.info_inner .info_detail_area .form_block.addr {}

	.info_inner .info_detail_area .form_block.addr button {
		width: 100%;
	}

	.info_inner .info_detail_area .form_block.addr input {
		order: 2;
	}
	
	h2.tit_ico2, .top_area .tit_ico2 {font-size:18px;} 
}

.main_event_guide {
  max-width: 720px;
}


.block .txt {
  margin-bottom: 20px;
  color: #333;
  line-height: 1.6;
}
.block .txt.point {
	color: #00940d;
	font-weight: bold;
}

.event_list_wrap {
  display: flex;
  flex-direction: column;
  gap: 16px; 
}

.event_block {
  background: #fff;
  padding: 16px; 
  border: 1px solid #ddd;
  transition: all 0.2s ease;
}
 
/* .event_block:hover {
  border-color: #2a5ab9;
  box-shadow: 0 3px 10px rgba(0,0,0,0.06);
}
 */
.event_block dt {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.event_block .tabs {
  display: inline-block;
  background: #0F1981;
  color: #fff;
  padding: 7px 16px;
  font-weight: 600;
  border-radius: 20px;
}

.event_block dd {
  margin: 0;
  font-size: 0.95rem;
  color: #444;
  line-height: 1.5;
}

.event_block .desc {
  display: block;
  margin-top: 4px;
  font-size: 0.85rem;
  color: #777;
}

.event_block.highlight {
  border: 2px solid #ff7a00;
  background: #fffaf4;
}

.event_block.highlight dt {
  color: #ff7a00;
}

.exp {
  margin-top: 20px;
  font-size: 0.85rem;
  color: #666;
  line-height: 1.4;
}